#ifndef APPLICATION_H
#define APPLICATION_H

#include <QString>
#include <QStringList>

class Application
{
public:
    Application();

    // Getters/setters
    QString getName() const;
    QStringList getArguments() const;
    int getPID() const;
    int getSignalPort() const;
    int getAuid() const;

    void setAuid(int id);
    void setName(const QString& name);
    void setArgs(const QStringList& args);
    void setPID(int pid);
    void setSignalPort(int port);

    /**
     * @brief kill kills the process by sending a SIGKILL
     */
    void kill();

private:
    // the application unique identifier that uniquely identifies an application
    int v_auid;
    // Unix-process pid
    int v_pid;
    // the network port used to access the JsonRpcServer
    int v_servicePort;
    // The name of the application
    QString v_name;
    // The list of the arguments passed to the application when executed
    QStringList v_args;
};


class ApplicationException  {
public:
    ApplicationException(const QString&)
    {

    }
};

#endif // APPLICATION_H
